Tools for Implementation of DSP functionality in FPGAs: CORDIC vector magnitude calculation using HDS3
نویسندگان
چکیده
Modern FPGAs targeting the embedded market overcome the typical drawback of high power consumption by offering low quiescent currents and power-saving stand-by modes, whilst still providing useful computing resources and retaining design flexibility. We present Hardware Design Studio 3 (HDS3), a powerful graphical software tool which allows for rapid entry of DSP designs and subsequent optimisation of the wordlengths in order to make efficient use of the relatively limited resources of embedded FPGAs. HDS3 allows the designer to move quickly and automatically from a graphical block-based design of a DSP system to platform-independent HDL, facilitating the transfer of designs to other targets such as non-volatile FPGA, CPLD or even ASIC. Introduction This paper illustrates the design of a CORDIC (COordinate Rotational DIgital Computer) unit for computing vector magnitudes using HDS3. The CORDIC algorithm is a simple technique using mainly shifts and additions making it ideal for FPGA implementation. Using the CORDIC technique allows the calculation of complex trigonometrical functions to a high degree of accuracy using low complexity hardware, thus making sophisticated signal processing algorithms possible on low-cost hardware platforms. Hardware Design Studio 3 (HDS3) from Steepest Ascent Ltd. is a component for the SystemVue design software by Agilent. HDS3 allows a high-level block-based design entry for DSP designs and provides facilities for word length optimisation, numerical stability analysis and finally automatic VHDL code generation. This makes the transition from a DSP algorithm to implementation very convenient. The nature of the output VHDL is entirely generic, allowing this code to be transferred easily between design targets such as FPGA, CPLD or ASIC. 1 CORDIC Fundamentals The CORDIC (COordinate Rotational DIgital Computer) algorithm is an iterative technique based on the rotation of a vector which allows many transcendental and trigonometric functions to be calculated. The key aspect of this method is that it is achieved using only shifts, additions/ subtractions and table look-ups which map well into hardware and are ideal for FPGA implementation. The original work on CORDIC was carried out by Jack Volder [1] in the 1950s although this was limited to computing trigonometric functions with the purpose of developing a digital solution to realtime navigation problems. This work was then extended by John Walther [2] to provide solutions to a broader range of functions. Since then, much research has been carried out on the algorithm, with a thorough survey of this work with respect to FPGAs being published by Andraka [3]. The CORDIC algorithm has been used in applications such as calculators, mathematical coprocessors, radar signal processors and robotics. Tools for Implementation of DSP functionality in FPGAs: CORDIC vector magnitude calculation using HDS3 Daniel García-Alís, Iain G. Stirling & Steven W. Alexander Steepest Ascent Ltd. www.steepestascent.com 1.1 Givens Rotations The CORDIC method is based on the rotation of a vector from position (x(1),y(1)) to (x(2),y(2)) as shown in Figure 1. The new position can be calculated using the Givens rotation given in Eq. 1.1:
منابع مشابه
Design and Implementation of Digital Demodulator for Frequency Modulated CW Radar (RESEARCH NOTE)
Radar Signal Processing has been an interesting area of research for realization of programmable digital signal processor using VLSI design techniques. Digital Signal Processing (DSP) algorithms have been an integral design methodology for implementation of high speed application specific real-time systems especially for high resolution radar. CORDIC algorithm, in recent times, is turned out to...
متن کاملFPGA Implementation of Pipelined CORDIC for Digital Demodulation in FMCW Radar
Abstract— Now-a-days Radar Signal Processing system is gaining a great deal of attention for realization of on-chip programmable signal processor for its real time applications. Application specific systems are being implemented using wide spectrum of Digital Signal Processing (DSP) algorithms. Such is the case for COordinate Rotation DIgital Computer (CORDIC) algorithm which is turned out to b...
متن کاملReal-Time and High-Accuracy Arctangent Computation Using CORDIC and Fast Magnitude Estimation
This paper presents an improved VLSI (Very Large Scale of Integration) architecture for real-time and high-accuracy computation of trigonometric functions with fixed-point arithmetic, particularly arctangent using CORDIC (Coordinate Rotation Digital Computer) and fast magnitude estimation. The standard CORDIC implementation suffers of a loss of accuracy when the magnitude of the input vector be...
متن کاملCalculation of Sine and Cosine of an Angle using the CORDIC Algorithm
With increasing on chip complexities the on chip area is a major concern. Today users desire every gadget to be small enough, particularly the hand held systems. CORDIC is one such algorithm which serves this purpose. CORDIC algorithm has become a widely used approach to elementary function evaluation when silicon area is a primary concern. CORDIC is more economical than DSP algorithms both in ...
متن کاملFPGA Optimizations for a Pipelined Floating-Point Exponential Unit
The large number of available DSP slices on new-generation FPGAs allows for efficient mapping and acceleration of floating-point intensive codes. Numerous scientific codes heavily rely on executing the exponential function. To this end, we present the design and implementation of a pipelined CORDIC/TD-based (COrdinate Rotation DIgital Computer/Table Driven) Exponential Approximation Unit (EAU) ...
متن کامل